﻿/**
<code>
  <author name="Zealic" email="zealic(at)gmail.com" type="Creator"/>
</code>
**/
using System;
using System.Linq.Expressions;
using System.Collections.Generic;


namespace Zealib.Template
{
    public class ObjectVariableSource : IVariableSource
    {
        private IDictionary<string, Func<object>> m_AccessorCache = new Dictionary<string, Func<object>>();

        public  ObjectVariableSource(object target)
        {
            if(target == null) throw new ArgumentNullException("target");
            Target = target;
        }

        public object Target
        {
            get; private set;
        }

        public string Resolve(string expression)
        {
            if(expression == null) throw new ArgumentNullException("expression");
            throw new NotImplementedException();
        }
    }
}
